066efc1c8eddc54c623e84beef3de11938e15c78,groovy-language-server/src/test/java/com/palantir/ls/server/groovy/GroovyTreeParserTest.java,GroovyTreeParserTest,testReferences_innerClassOneLine,#,394

Before Change



    @Test
    public void testReferences_innerClassOneLine() throws IOException {
        File newFolder1 = root.newFolder();
        // edge case on one line
        File innerClass = addFileToFolder(newFolder1, "AandB.groovy",
                "public class A {public static class B {}\n"
                        + "A a\n"
                        + "B b\n"
                        + "}\n");
        parser.parseAllSymbols();

        // Identify type A correctly
        Set<SymbolInformation> typeAExpectedResult = Sets.newHashSet(
                createSymbolInformation("a", SymbolKind.Field,
                        createLocation(innerClass.toPath(), Ranges.createRange(1, 0, 1, 3)),
                        Optional.of("A")),
                createSymbolInformation("getA", SymbolKind.Method,
                        createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
                        Optional.of("A")),
                createSymbolInformation("value", SymbolKind.Variable,
                        createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
                        Optional.of("setA")));
        assertEquals(typeAExpectedResult, parser.getTypeReferences().get("A"));
        assertEquals(typeAExpectedResult,
                parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 6, false)));
        // Identify type B correctly
        Set<SymbolInformation> typeBExpectedResult = Sets.newHashSet(
                createSymbolInformation("b", SymbolKind.Field,
                        createLocation(innerClass.toPath(), Ranges.createRange(2, 0, 2, 3)),
                        Optional.of("A")),
                createSymbolInformation("getB", SymbolKind.Method,
                        createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
                        Optional.of("A")),
                createSymbolInformation("value", SymbolKind.Variable,
                        createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
                        Optional.of("setB")));
        assertEquals(typeBExpectedResult, parser.getTypeReferences().get("A$B"));
        assertEquals(typeBExpectedResult,
                parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 17, false)));

After Change



        // Identify type A correctly
        Set<Location> typeAExpectedResult = Sets.newHashSet(
                        createLocation(innerClass.toPath(), Ranges.createRange(1, 0, 1, 1)));
        assertEquals(typeAExpectedResult,
                parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 6, false)));
        // Identify type B correctly
        Set<Location> typeBExpectedResult = Sets.newHashSet(
                        createLocation(innerClass.toPath(), Ranges.createRange(2, 0, 2, 1)));
        assertEquals(typeBExpectedResult,
                parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 17, false)));
    }